package com.itheima.final_demo;



/*
    final : 最终的意思 , 关键字 , 修饰符

    final关键字可以修饰 变量 方法 类
        1 final修饰的变量 : 是一个常量(自定义常量) , 只能赋值一次
            自定义常量起名字的规范 : 每个字母都需要大写 , 每个单词用下划线分割
            final int NUMBER = 100;
            final int MAX_NUMBER = 100;

        2 final修饰的方法 : 是一个最终的方法 , 不能被重写
            注意 : private修饰的方法 子类也不能重写!

        3 final修饰的类 , 是一个太监类 , 没有子类!


    常量的分类
        1 字面值常量
             字符串常量 : "abc"
             整数常量 : 123
             小数常量 : 12.12
             字符常量 : 'a' '1' ' '   '\u0000'
             布尔常量 : false  , true
             空常量   : null
        2 自定义常量
           final 数据类型 变量名 = 初始化值;
 */
public class FinalDemo {

}

final class Person {
    final int num = 100;
    final int num2; // 先定义变量 , 在赋值(只能在构造方法中赋值 , 如果存在多个构造方法每一个构造方法都需要赋值)

    public Person() {
        num2 = 100;
    }

    public Person(int a) {
        num2 = 100;
    }


    public final void show() {
        // final修饰的变量 : 是一个常量 , 只能赋值一次
        // num = 200;
    }
}

//class Student extends Person{ // final修饰的类不能被继承

// final修饰的方法不能被重写!
//    @Override
//    public void show() {
//
//    }

//}
